home *** CD-ROM | disk | FTP | other *** search
/ Aminet 44 / Aminet 44 (2001)(GTI - Schatztruhe)[!][Aug 2001].iso / Aminet / game / misc / CCGames.lha / POKER.BAS < prev    next >
BASIC Source File  |  1980-01-01  |  9KB  |  419 lines

  1. 0 RANDOMIZE
  2. 1 WIDTH 80:PRINT CHR$(26)
  3. 2 PRINT TAB(33);"POKER":PRINT
  4. 4 PRINT TAB(15);"CREATIVE COMPUTING  MORRISTOWN, NEW JERSEY"
  5. 6 PRINT: PRINT: PRINT
  6. 10 DIM A(50),B(15)
  7. 20 DEF FNA(X)=INT(10*RND(1))
  8. 30 DEF FNB(X)=X-100*INT(X/100)
  9. 40 PRINT "WELCOME TO THE CASINO.  WE EACH HAVE $200."
  10. 50 PRINT "I WILL OPEN THE BETTING BEFORE THE DRAW; YOU OPEN AFTER."
  11. 60 PRINT "TO FOLD BET 0; TO CHECK BET .5.":PRINT
  12. 70 PRINT "ENOUGH TALK -- LET'S GET DOWN TO BUSINESS."
  13. 80 PRINT
  14. 90 LET O=1
  15. 100 LET C=200
  16. 110 LET S=200
  17. 120 LET P=0
  18. 130 REM
  19. 140 PRINT
  20. 150 IF C<=5 THEN 3670
  21. 160 PRINT "THE ANTE IS $5.  I WILL DEAL:"
  22. 170 PRINT
  23. 180 IF S>5 THEN 200
  24. 190 GOSUB 3830
  25. 200 LET P=P+10
  26. 210 LET S=S-5
  27. 220 LET C=C-5
  28. 230 FOR Z=1 TO 10
  29. 240 GOSUB 1740
  30. 250 NEXT Z
  31. 260 PRINT "YOUR HAND:":PRINT "---------"
  32. 270 N=1
  33. 280 GOSUB 1850
  34. 290 N=6
  35. 300 I=2
  36. 310 GOSUB 2170
  37. 320 PRINT
  38. 330 IF I<>6 THEN 470
  39. 340 IF FNA(0)<=7 THEN 370
  40. 350 LET X=11100
  41. 360 GOTO 420
  42. 370 IF FNA(0)<=7 THEN 400
  43. 380 LET X=11110
  44. 390 GOTO 420
  45. 400 IF FNA(0)>=1 THEN 450
  46. 410 X=11111
  47. 420 I=7
  48. 430 Z=23
  49. 440 GOTO 580
  50. 450 Z=1
  51. 460 GOTO 510
  52. 470 IF U>=13 THEN 540
  53. 480 IF FNA(0)>=2 THEN 500
  54. 490 GOTO 420
  55. 500 Z=0
  56. 510 K=0
  57. 520 PRINT "I CHECK."
  58. 530 GOTO 620
  59. 540 IF U<=16 THEN 570
  60. 550 Z=2
  61. 560 IF FNA(0)>=1 THEN 580
  62. 570 Z=35
  63. 580 V=Z+FNA(0)
  64. 590 GOSUB 3480
  65. 600 PRINT "I'LL OPEN WITH $";V;CHR$(8);"."
  66. 610 K=V
  67. 620 GOSUB 3050
  68. 630 GOSUB 650
  69. 640 GOTO 820
  70. 650 IF I<>3 THEN 760
  71. 660 PRINT
  72. 670 PRINT "I WIN."
  73. 680 C=C+P
  74. 690 PRINT:PRINT "NOW I HAVE $"C"AND YOU HAVE $"S;CHR$(8);"."
  75. 700 PRINT:PRINT "DO YOU WISH TO CONTINUE";
  76. 710 INPUT H$
  77. 720 IF LEFT$(H$,1)="Y" THEN 120
  78. 730 IF LEFT$(H$,1)="N" THEN 4100
  79. 740 PRINT "ANSWER YES OR NO, PLEASE."
  80. 750 GOTO 700
  81. 760 IF I<>4 THEN 810
  82. 770 PRINT
  83. 780 PRINT "YOU WIN."
  84. 790 S=S+P
  85. 800 GOTO 690
  86. 810 RETURN
  87. 820 PRINT
  88. 830 PRINT "NOW WE DRAW -- HOW MANY CARDS DO YOU WANT";
  89. 840 INPUT T
  90. 850 IF T=0 THEN 980
  91. 860 Z=10
  92. 870 IF T<4 THEN 900
  93. 880 PRINT "YOU CAN'T DRAW MORE THAN THREE CARDS."
  94. 890 GOTO 840
  95. 900 IF T=1 THEN PRINT "WHAT IS ITS NUMBER:" ELSE PRINT"WHAT ARE THEIR NUMBERS:"
  96. 910 FOR Q=1 TO T
  97. 920 INPUT U
  98. 930 GOSUB 1730
  99. 940 NEXT Q
  100. 950 PRINT:PRINT "YOUR NEW HAND:":PRINT "-------------"
  101. 960 N=1
  102. 970 GOSUB 1850
  103. 980 Z=10+T
  104. 990 FOR U=6 TO 10
  105. 1000 IF INT(X/10^(U-6))<>10*INT(X/10^(U-5)) THEN 1020
  106. 1010 GOSUB 1730
  107. 1020 NEXT U
  108. 1030 PRINT
  109. 1040 PRINT "I AM TAKING"Z-10-T"CARD";
  110. 1050 IF Z=11+T THEN PRINT ".":GOTO 1090
  111. 1060 PRINT "S."
  112. 1070 PRINT
  113. 1080 GOTO 1100
  114. 1090 PRINT
  115. 1100 N=6
  116. 1110 V=I
  117. 1120 I=1
  118. 1130 GOSUB 2170
  119. 1140 B=U
  120. 1150 M=D
  121. 1160 IF V<>7 THEN 1190
  122. 1170 Z=28
  123. 1180 GOTO 1330
  124. 1190 IF I<>6 THEN 1220
  125. 1200 Z=1
  126. 1210 GOTO 1330
  127. 1220 IF U>=13 THEN 1270
  128. 1230 Z=2
  129. 1240 IF FNA(0)<>6 THEN 1260
  130. 1250 Z=19
  131. 1260 GOTO 1330
  132. 1270 IF U>=16 THEN 1320
  133. 1280 Z=19
  134. 1290 IF FNA(0)<>8 THEN 1310
  135. 1300 Z=11
  136. 1310 GOTO 1330
  137. 1320 Z=2
  138. 1330 K=0
  139. 1340 GOSUB 3050
  140. 1350 IF T<>.5 THEN 1450
  141. 1360 IF V=7 THEN 1400
  142. 1370 IF I<>6 THEN 1400
  143. 1380 PRINT "I'LL CHECK."
  144. 1390 GOTO 1460
  145. 1400 V=Z+FNA(0)
  146. 1410 GOSUB 3480
  147. 1420 PRINT "I'LL BET $";V;CHR$(8);"."
  148. 1430 K=V
  149. 1440 GOSUB 3060
  150. 1450 GOSUB 650
  151. 1460 PRINT
  152. 1470 PRINT "NOW WE COMPARE HANDS:"
  153. 1480 J$=H$
  154. 1490 K$=I$
  155. 1500 PRINT:PRINT "MY HAND:":PRINT "-------"
  156. 1510 N=6
  157. 1520 GOSUB 1850
  158. 1530 N=1
  159. 1540 GOSUB 2170
  160. 1550 PRINT
  161. 1560 PRINT "YOU HAVE ";
  162. 1570 K=D
  163. 1580 GOSUB 3690
  164. 1590 H$=J$
  165. 1600 I$=K$
  166. 1610 K=M
  167. 1620 PRINT "AND I HAVE ";
  168. 1630 GOSUB 3690
  169. 1640 IF B>U THEN 670
  170. 1650 IF U>B THEN 780
  171. 1660 IF H$="A FLUS" THEN 1700
  172. 1662 IF FNB(M)<FNB(D) THEN 780
  173. 1664 IF FNB(M)>FNB(D) THEN 670
  174. 1670 PRINT "THE HAND IS DRAWN."
  175. 1680 PRINT "ALL $"P"REMAINS IN THE POT."
  176. 1690 GOTO 140
  177. 1700 IF FNB(M)>FNB(D) THEN 670
  178. 1710 IF FNB(D)>FNB(M) THEN 780
  179. 1720 GOTO 1670
  180. 1730 Z=Z+1
  181. 1740 A(Z)=100*INT(4*RND(1))+INT(100*RND(1))
  182. 1750 IF INT(A(Z)/100)>3 THEN 1740
  183. 1760 IF A(Z)-100*INT(A(Z)/100)>12 THEN 1740
  184. 1765 IF Z=1 THEN 1840
  185. 1770 FOR K=1 TO Z-1
  186. 1780 IF A(Z)=A(K) THEN 1740
  187. 1790 NEXT K
  188. 1800 IF Z<=10 THEN 1840
  189. 1810 N=A(U)
  190. 1820 A(U)=A(Z)
  191. 1830 A(Z)=N
  192. 1840 RETURN
  193. 1850 FOR Z=N TO N+4
  194. 1860 PRINT USING "##";Z;:PRINT " --";
  195. 1870 GOSUB 1950
  196. 1880 PRINT " OF";
  197. 1890 GOSUB 2070
  198. 1900 ' IF Z/2<>INT(Z/2) THEN 1920
  199. 1910 PRINT
  200. 1920 NEXT Z
  201. 1930 PRINT
  202. 1940 RETURN
  203. 1950 K=FNB(A(Z))
  204. 1960 IF K<>9 THEN 1980
  205. 1970 PRINT " JACK";
  206. 1980 IF K<>10 THEN 2000
  207. 1990 PRINT " QUEEN";
  208. 2000 IF K<>11 THEN 2020
  209. 2010 PRINT " KING";
  210. 2020 IF K<>12 THEN 2040
  211. 2030 PRINT " ACE";
  212. 2040 IF K>=9 THEN 2060
  213. 2050 PRINT K+2;CHR$(8);
  214. 2060 RETURN
  215. 2070 K=INT(A(Z)/100)
  216. 2080 IF K<>0 THEN 2100
  217. 2090 PRINT " CLUBS",
  218. 2100 IF K<>1 THEN 2120
  219. 2110 PRINT " DIAMONDS",
  220. 2120 IF K<>2 THEN 2140
  221. 2130 PRINT " HEARTS",
  222. 2140 IF K<>3 THEN 2160
  223. 2150 PRINT " SPADES",
  224. 2160 RETURN
  225. 2170 U=0
  226. 2180 FOR Z=N TO N+4
  227. 2190 B(Z)=FNB(A(Z))
  228. 2200 IF Z=N+4 THEN 2230
  229. 2210 IF INT(A(Z)/100)<>INT(A(Z+1)/100) THEN 2230
  230. 2220 U=U+1
  231. 2230 NEXT Z
  232. 2240 IF U<>4 THEN 2310
  233. 2250 X=11111
  234. 2260 D=A(N)
  235. 2270 H$="A FLUS"
  236. 2280 I$="H IN"
  237. 2290 U=15
  238. 2300 RETURN
  239. 2310 FOR Z=N TO N+3
  240. 2320 FOR K=Z+1 TO N+4
  241. 2330 IF B(Z)<=B(K) THEN 2390
  242. 2340 X=A(Z)
  243. 2350 A(Z)=A(K)
  244. 2360 B(Z)=B(K)
  245. 2370 A(K)=X
  246. 2380 B(K)=A(K)-100*INT(A(K)/100)
  247. 2390 NEXT K
  248. 2400 NEXT Z
  249. 2410 X=0
  250. 2420 FOR Z=N TO N+3
  251. 2430 IF B(Z)<>B(Z+1) THEN 2470
  252. 2440 X=X+11*10^(Z-N)
  253. 2450 D=A(Z)
  254. 2460 GOSUB 2760
  255. 2470 NEXT Z
  256. 2480 IF X<>0 THEN 2620
  257. 2490 IF B(N)+3<>B(N+3) THEN 2520
  258. 2500 X=1111
  259. 2510 U=10
  260. 2520 IF B(N+1)+3<>B(N+4) THEN 2620
  261. 2530 IF U<>10 THEN 2600
  262. 2540 U=14
  263. 2550 H$="STRAIG"
  264. 2560 I$="HT"
  265. 2570 X=11111
  266. 2580 D=A(N+4)
  267. 2590 RETURN
  268. 2600 U=10
  269. 2610 X=11110
  270. 2620 IF U>=10 THEN 2690
  271. 2630 D=A(N+4)
  272. 2640 H$="SCHMAL"
  273. 2650 I$="TZ, "
  274. 2660 U=9
  275. 2670 X=11000
  276. 2680 GOTO 2740
  277. 2690 IF U<>10 THEN 2720
  278. 2700 IF I=1 THEN 2740
  279. 2710 GOTO 2750
  280. 2720 IF U>12 THEN 2750
  281. 2730 IF FNB(D)>6 THEN 2750
  282. 2740 I=6
  283. 2750 RETURN
  284. 2760 IF U>=11 THEN 2810
  285. 2770 U=11
  286. 2780 H$="A PAIR"
  287. 2790 I$=" OF "
  288. 2800 RETURN
  289. 2810 IF U<>11 THEN 2910
  290. 2820 IF B(Z)<>B(Z-1) THEN 2870
  291. 2830 H$="THREE"
  292. 2840 I$=" "
  293. 2850 U=13
  294. 2860 RETURN
  295. 2870 H$="TWO P"
  296. 2880 I$="AIR, "
  297. 2890 U=12
  298. 2900 RETURN
  299. 2910 IF U>12 THEN 2960
  300. 2920 U=16
  301. 2930 H$="FULL H"
  302. 2940 I$="OUSE, "
  303. 2950 RETURN
  304. 2960 IF B(Z)<>B(Z-1) THEN 3010
  305. 2970 U=17
  306. 2980 H$="FOUR"
  307. 2990 I$=" "
  308. 3000 RETURN
  309. 3010 U=16
  310. 3020 H$="FULL H"
  311. 3030 I$="OUSE, "
  312. 3040 RETURN
  313. 3050 G=0
  314. 3060 PRINT:PRINT "WHAT IS YOUR BET";
  315. 3070 INPUT T
  316. 3080 IF T-INT(T)=0 THEN 3140
  317. 3090 IF K<>0 THEN 3120
  318. 3100 IF G<>0 THEN 3120
  319. 3110 IF T=.5 THEN 3410
  320. 3120 PRINT "NO SMALL CHANGE, PLEASE."
  321. 3130 GOTO 3060
  322. 3140 IF S-G-T>=0 THEN 3170
  323. 3150 GOSUB 3830
  324. 3160 GOTO 3060
  325. 3170 IF T<>0 THEN 3200
  326. 3180 I=3
  327. 3190 GOTO 3380
  328. 3200 IF G+T>=K THEN 3230
  329. 3210 PRINT "IF YOU CAN'T SEE MY BET, THEN FOLD."
  330. 3220 GOTO 3060
  331. 3230 G=G+T
  332. 3240 IF G=K THEN 3380
  333. 3250 IF Z<>1 THEN 3420
  334. 3260 IF G>5 THEN 3300
  335. 3270 IF Z>=2 THEN 3350
  336. 3280 V=5
  337. 3290 GOTO 3420
  338. 3300 IF Z=1 THEN 3320
  339. 3310 IF T<=25 THEN 3350
  340. 3320 I=4
  341. 3330 PRINT "I FOLD."
  342. 3340 RETURN
  343. 3350 IF Z=2 THEN 3430
  344. 3360 PRINT "I'LL SEE YOU."
  345. 3370 K=G
  346. 3380 S=S-G
  347. 3390 C=C-K
  348. 3400 P=P+G+K
  349. 3410 RETURN
  350. 3420 IF G>3*Z THEN 3350
  351. 3430 V=G-K+FNA(0)
  352. 3440 GOSUB 3480
  353. 3450 PRINT "I'LL SEE YOU, AND RAISE YOU"V;CHR$(8);"."
  354. 3460 K=G+V
  355. 3470 GOTO 3060
  356. 3480 IF C-G-V>=0 THEN 3660
  357. 3490 IF G<>0 THEN 3520
  358. 3500 V=C
  359. 3510 RETURN
  360. 3520 IF C-G>=0 THEN 3360
  361. 3530 IF (O/2)<>INT(O/2) THEN 3600
  362. 3540 PRINT "WOULD YOU LIKE TO BUY BACK YOUR WATCH FOR $50";
  363. 3550 INPUT J$
  364. 3560 IF LEFT$(J$,1)="N" THEN 3600
  365. 3570 C=C+50
  366. 3580 O=O/2
  367. 3590 RETURN
  368. 3600 IF O/3<>INT(O/3) THEN 3670
  369. 3610 PRINT "WOULD YOU LIKE TO BUY BACK YOUR TIE TACK FOR $50";
  370. 3620 INPUT J$
  371. 3630 IF LEFT$(J$,1)="N" THEN 3670
  372. 3640 C=C+50
  373. 3650 O=O/3
  374. 3660 RETURN
  375. 3670 PRINT "I'M BUSTED.  CONGRATULATIONS!"
  376. 3680 STOP
  377. 3690 PRINT H$;I$;
  378. 3700 IF H$<>"A FLUS" THEN 3750
  379. 3710 K=INT(K/100)
  380. 3720 GOSUB 2080
  381. 3730 PRINT
  382. 3740 RETURN
  383. 3750 K=FNB(K)
  384. 3760 GOSUB 1960
  385. 3770 IF H$="SCHMAL" THEN 3790
  386. 3780 IF H$<>"STRAIG" THEN 3810
  387. 3790 PRINT " HIGH"
  388. 3800 RETURN
  389. 3810 PRINT "'S"
  390. 3820 RETURN
  391. 3830 PRINT
  392. 3840 PRINT "YOU CAN'T BET WITH WHAT YOU HAVEN'T GOT."
  393. 3850 IF O/2=INT(O/2) THEN 3970
  394. 3860 PRINT "WOULD YOU LIKE TO SELL YOUR WATCH";
  395. 3870 INPUT J$
  396. 3880 IF LEFT$(J$,1)="N" THEN 3970
  397. 3890 IF FNA(0)>=7 THEN 3930
  398. 3900 PRINT "I'LL GIVE YOU $75 FOR IT."
  399. 3910 S=S+75
  400. 3920 GOTO 3950
  401. 3930 PRINT "THAT'S A PRETTY CRUMMY WATCH - I'LL GIVE YOU $25."
  402. 3940 S=S+25
  403. 3950 O=O*2
  404. 3960 RETURN
  405. 3970 IF O/3<>INT(O/3) THEN 4090
  406. 3980 PRINT "WILL YOU PART WITH THAT DIAMOND TIE TACK":
  407. 3990 INPUT J$
  408. 4000 IF LEFT$(J$,1)="N" THEN 4080
  409. 4010 IF FNA(0)>=6 THEN 4050
  410. 4020 PRINT "YOU ARE NOW $100 RICHER."
  411. 4030 S=S+100
  412. 4040 GOTO 4070
  413. 4050 PRINT "IT'S PASTE.  $25."
  414. 4060 S=S+25
  415. 4070 O=O*3
  416. 4080 RETURN
  417. 4090 PRINT "YOUR WAD IS SHOT.  SO LONG, SUCKER!"
  418. 4100 RUN "MENU"
  419.